package myky.com.doctorapp.contract;

import java.io.File;

import io.reactivex.Observable;
import io.reactivex.annotations.Nullable;
import myky.com.doctorapp.base.BaseEntity;
import myky.com.doctorapp.base.BaseView;
import myky.com.doctorapp.entity.PersionInfoEntity;
import myky.com.doctorapp.entity.SimpleReponseEntity;
import myky.com.doctorapp.entity.UserEntity;

public interface PersonInfoContract {
    interface Model  {

        Observable<BaseEntity<UserEntity.PayLoadBean>>getUserInfo();


        Observable<BaseEntity<SimpleReponseEntity.PayLoadBean>>updateUserInfo(@Nullable String userName, @Nullable String advanter, String version);


        Observable<BaseEntity<String>> upLoadPic(File file);
    }

    interface View extends BaseView<UserEntity.PayLoadBean> {


        void updateInfoFailed();

        void showUpdateResult(String userName, String advanter);

        void showUpSuccesMd5(String md5Url);
    }

    interface Presenter {


        void getUserInfo();


       void  updateUserInfo(@Nullable String userName, @Nullable String advanter, String version);


        void upLoadPic(File file);
    }
}
